The invention relates to a distributed voice processing system, and more particularly to such a system comprising at least first and second components connected by an isochronous communications link.
In recent years telephone networks have started to provide increasingly sophisticated services, and this trend is likely to continue, for example with speech dialling (where the caller simply speaks in the name of a person who it is desired to call), and so on. In order to implement such advanced services, so-called Intelligent Peripherals (IPs) are required to provide the extra capability over and above the routing and billing functions of a traditional telephone network. These IPs are normally located at Service Nodes (SN) within the network. IPs can also be used at private installations, especially those which handle a large volume of incoming and/or outgoing calls.
IPs are used to provide enhanced services such as voice services, voice response, voice mail, fax mail, and other applications. Most IPs are based on voice processing units (or voice response units), and are usually restricted in capacity to handling typically between 100 and 200 channels. However, it is often required to have Service Nodes that support hundreds or even thousands of telephony channels, so that multiple voice processing units must be used. This requires an architecture suitable for combining the multiple voice processing units into a service node.
An example of a system having multiple voice processing units is disclosed in U.S. Pat. No. 5,029,199, which describes a voice messaging system for use in the telephone network or at a large private installation. This system includes multiple voice processing units, a digital switch and a master control unit. The voice processing units have a digital T1 trunk connection to the switch for telephony channels (or an E1 connection where appropriate), whilst the voice processing units, digital switch, and master control unit are also connected together via a data control bus, such as an Ethernet. Notification of an incoming call initially arrives at the master control unit, which selects an appropriate voice processing unit to handle the call (based for example on current loading of the units, or the called or calling number), and sends an appropriate instruction to the switch. Then, when the incoming call itself arrives at the switch, it is routed to the selected voice processing unit. If necessary, the selected voice processing unit can retrieve the appropriate greeting or a stored message belonging to the caller from another voice processing unit over the data control bus.
A somewhat similar system is described in U.S. Pat. No. 5,394,460, in which multiple voice processing systems are connected by a Fibre Distributed Data Interface (FDDI). This system does not have a master control unit--each voice processing unit can handle calls in a suitable manner for any subscriber to the system, including retrieving, where necessary, a subscriber greeting and messages from the other voice processing unit(s) over the FDDI link.
"Conversant 1 voice system: Architecture and Applications", by R Perdue and E Rissanen, in AT&T Technical Journal, September/October 1986, Vol 65/5, p34-47 describes a system where multiple subsystems provide eg voice response, isolated word recognition etc, are connected to a switch so that they can be shared between calls. A line interface unit is interposed between the switch and the telephone network. The subsystems and line interface unit are also attached via a general-purpose interface bus, which runs an application to control overall system operation, invoking the facilities of subsystems when necessary. This system effectively operates as a single, multi-function IP, and so is limited in its overall call processing capabilities.
An example of the use of an IP installation is illustrated in FIG. 1, which acts as a Service Node 10 within the telephone network. Thus calls are routed to the service node from within the telephone network 5 via multiple trunk lines 15, such as T1 digital trunk lines, which each carry twenty-four individual telephony channels. The incoming trunk lines arrive at a switch 20, which has a set of line interface (LI) units 22, such that each incoming trunk line is terminated by a corresponding LI unit. Usually this switch is a programmable, time-division multiplex (TDM) switch, which allows host-controlled routing of incoming calls to a selected voice processing unit, and host-controlled bridging between calls. The line interface units can be used to perform a variety of functions, such as analog to digital conversion (not necessary if T1 trunks are used), signalling, DTMF detection, and so on.
The back end of the switch is connected to multiple voice processing units 50A, 50B via a further set of digital trunk lines 45, which typically are also T1 trunks. A pair of line interface units are provided at opposite ends of each internal digital trunk line 45, the first line interface unit 24 being at the back end of the switch, and the second line interface unit 52 being attached to the voice processing unit to which the trunk is connected. The voice processing units 50 contain multiple voice resources 55, which can be used for example to play voice prompts, perform voice recognition, FAX-back etc, depending on the desired service. The line interface units 52 are connected to the voice resources 55 via a TDM bus 54. Often this connection is hardwired so that calls on a particular line interface unit are always directed to the same voice resource. Overall control of a call at the voice processing unit is provided by one or more applications 60 running on the voice processing unit. The application determines, for example, which voice prompts to play, and in which order.
The switch routes the incoming call from trunk line 15 to an appropriate voice processing unit under the control of a Call Manager 30 (also termed the host). The Call Manager is connected to the switch 20 by a first control interface 35 (typically provided either by a LAN connection or some switch-dependent hardware link), and to the voice processing units 50 by a second control interface 36 (typically a LAN connection). The Call Manager uses the second control interface to communicate with the voice processing units 50, via a call manager component 62 on each voice processing unit.
The routing decision of the Call Manager can be based on various criteria. For example, the caller may have personal information (eg a voice mail message or greeting) stored on a particular voice processing unit, or may require a special service (eg use of specialised voice recognition hardware). This routing is often performed based on Automatic Number Identification and/or Dialled Number Identification Service (ANI/DNIS) information, the former representing the calling number, the latter the called number. This ANI/DNIS information (if available) is supplied to the Call Manager from the telephone network via switch 20 over control interface link 35. Other information might also be employed to establish the routing, such as time of day, and/or current loading of the different end units. This latter information can be obtained by the Call Manager directly from the different call manager components on their respective voice processing units. The second control interface 36 also allows the Call Manager to pass information (such as ANI/DNIS) via the call manager component 62 to the application 60 on the voice processing unit which is to receive a particular call, so that this information is available if desired in order to process the call.
Once the Call Manager has instructed the switch of a suitable destination for the incoming call, the switch effects this routing by completing the appropriate internal connections. This involves routing the call from a channel on an incoming trunk 15 through to an available channel on an appropriate one of the internal trunk lines 45 for connection with a desired voice processing unit 50. The call is then passed through the relevant line interface unit 52 and TDM bus 54, before being handled by the appropriate voice resource 55 under the control of application 60.
It will be appreciated that the Call Manager of FIG. 1 performs an analogous function to the master control unit in the above-mentioned U.S. Pat. No. 5,029,199 (the fact that the Call Manager is connected to the telephone network via the switch whereas the master control unit is connected directly to the network simply reflects the type of signalling supported by the network and the capabilities of the switch; the appropriate configuration will vary from one installation to another).
Aside from forwarding incoming calls to a selected voice processing unit, the Service Node 10 may be provided with additional capabilities. For example, calls may be bridged by connecting a first line coming into the switch from the telephone network with a second line going back out to the telephone network from the switch. This may be performed for example to provide some form of conferencing service, or for applications which provide a single number service, or a calling card service, where an incoming caller needs to be connected with a second, outbound, call. Furthermore, some applications running on the voice processing unit may be essentially outbound rather than inbound, as so far described; ie they produce outgoing calls from the Service Node through switch 20, out into telephony network 5.
Prior art systems, such as that illustrated in FIG. 1, suffer from the major disadvantage that they are expensive to implement, not least because of the need for a switch. Thus the entry cost of a typical switch is somewhere in the range from $50,000 to $100,000, and is unlikely to drop significantly in the future, firstly because such switches use proprietary architectures, and will never be manufactured in large volumes, and also because of the large amount of telephony line interface hardware which is required, both on the telephone network side for trunks 15, and also on the voice processing side for trunks 45. Yet a further set of telephony line interface hardware is then required for the voice processing systems themselves.
Furthermore, the prior art solution illustrated in FIG. 1 also provides only limited scalablity, since a single switch is often limited to around 2000 telephony channels (ie 1000 network connected telephony channels, since an equivalent number of channels are generally required on the voice processing side of the switch). It is of course possible to employ multiple switches, but this adds to the software complexity of the installation, resulting in greater development and maintenance costs.
A rather different approach to that of FIG. 1 is disclosed in WO 90/04298, which describes a telephony processing system having one or more T1 interface units, one or more signal processing units that can provide functions such voice response, text-to-speech, and so on, and a control processor. These components are linked together by a control bus (a multibus). The T1 interface units and the signal processing units are also linked together by a telephony bus. It is the responsibility of the control processor to send instructions over the multibus to ensure that an incoming call at a particular interface unit is placed onto the telephony bus, and then correctly extracted from the telephony bus by the appropriate signal processing unit. This arrangement obviates the need for a switch, but is essentially limited in size to a single machine.
Other systems which do not require a switch are described in "The Surging CTI Tide" by Bob Emmerson and David Greetham, in Byte magazine, Novermber 1996. This article discloses a PC-based call handling system, in which one card is used as a line interface card, one as a FAX card, one to provide voice response functionality, and so on. These cards are linked together by a telephony time division multiplex bus (TDM), in addition to being plugged into the conventional PC ISA or PCI bus. Most commercial telephony TDM buses conform to one of two standards: either Multi-vendor Integration Protocol (MVIP), or Signal Computing System Architecture (SCSA).
One acknowledged limitation on such systems is that they are rather restricted in terms of the number of calls which they can handle; typically 512 ports on a single machine, or 768 ports by interconnecting multiple PCs using a multi-chassis bus. One possibility is to use an SCxbus plus appropriate adapters to connect SCSA systems together (see for example the SCxbus adapter cards available from Dialogic Corporation, advertised at http:://www.dialogic.com/products/d.sub.-- sheets/2335WEB.htm), but such a solution is still limited in terms of overall capacity and also flexibility.
It is also briefly suggested in the above-mentioned article from Byte magazine that the size limitation can be overcome by using asynchronous transfer mode (ATM) technology, although no details are provided. It seems likely that this suggestion either implies replacing the TDM bus altogether with an ATM link (which would allow a very flexible use of hardware, but would not be compatible with currently available systems), or else using ATM links between machines to effectively increase the length of the TDM bus (ie as a direct replacement for a multi-chassis TDM bus).
An example of a computer-telephony system using ATM is described in "Spawn of NT and ATM: The Un-PBX" by Ed Margulies in Computer Telephony, November 1996, pages 72-84. Here there is a direct ATM link between the desktop and an ATM server, which in turn is connected via a telephony bus to a line interface card, FAX card, etc. This use of ATM allows integration of desktop voice and data services.
Whilst the prior art does offer a wide range of telephony systems and enhanced services, the demand for such services continues to increase, and new services are also being developed. The prior art does not provide a fully flexible architecture, which can be easily extended to provide a very large call handling capacity that can support such enhanced services.